package lk.service.blogspringboot.service;

import lk.service.blogspringboot.domain.ArticleInfo;
import lk.service.blogspringboot.util.R;

/**
 * 文章信息表(ArticleInfo)表服务接口
 *
 * @author LK
 * @since 2024-08-22 10:33:39
 */
public interface ArticleInfoService {

    /**
     * 通过ID查询单条数据
     *
     * @param articleId 主键
     * @return 实例对象
     */
    R queryById(Integer articleId);

    /**
     * 全查询
     *
     * @param articleInfo 筛选条件
     * @return 查询结果
     */
    R queryAll(ArticleInfo articleInfo);

    /**
     * 新增数据
     *
     * @param articleInfo 实例对象
     * @return 实例对象
     */
    R insert(ArticleInfo articleInfo);

    /**
     * 修改数据
     *
     * @param articleInfo 实例对象
     * @return 实例对象
     */
    R update(ArticleInfo articleInfo);

    /**
     * 通过主键删除数据
     *
     * @param articleId 主键
     * @return 是否成功
     */
    R deleteById(Integer articleId);

    /**
     * 查询热门文章
     *
     * @return 前5条热门文章
     */
    R queryHotArticleInfo();

    R queryLatestArticleInfo();

    R queryByArticleIdList(ArticleInfo articleInfo);

    R queryAllPublic(ArticleInfo articleInfo);
}

